package com.ttg.security;

//~--- non-JDK imports --------------------------------------------------------

import com.ttg.config.Properties;
import com.ttg.contants.KeyContants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

//~--- JDK imports ------------------------------------------------------------

//~--- classes ----------------------------------------------------------------

/**
 * Class SecurityKit
 * Description 说明：加解密工具
 * Create 2016-07-23 10:40:22
 * @author Ardy
 */
public class SecurityKit {

    /**
     * Field LOGGER
     * Description
     */
    private static final Logger LOGGER = LoggerFactory.getLogger(SecurityKit.class);

    /**
     * Method signValue
     * Description 说明：
     *
     *
     * @param content 说明：
     *
     * @return 返回值说明：
     */
    public static String signByRSA(String content) {

        //// TODO: 2016/7/27 此处的商户要获取商户的私钥信息
        return RSA.signByPri(content, Properties.INFO.getString("PRIVATE_KEY"), KeyContants.CHARSET);
    }

    /**
     * Method verfiyByRSA
     * Description 说明：
     *
     * @param content 说明：
     * @param sign 说明：
     *
     * @return 返回值说明：
     */
    public static boolean verfiyByRSA(String content, String sign) {

        //// TODO: 2016/7/27 此处要获取商户的公钥信息进行加签
        return verfiyByRSA(content, sign, Properties.INFO.getString("PUBLIC_KEY"));
    }

    /**
     * Method verfiyByRSA
     * Description 说明：
     *
     * @param content 说明：
     * @param sign 说明：
     * @param publicKey 说明：
     *
     * @return 返回值说明：
     */
    public static boolean verfiyByRSA(String content, String sign, String publicKey) {

        //// TODO: 2016/7/27 此处要获取商户的公钥信息进行加签
        return RSA.verifyByPub(content, sign, publicKey, KeyContants.CHARSET);
    }
}


//~ Formatted by Jindent --- http://www.jindent.com
